﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace Kokomo
{
	public class DragBehavior
	{
		public DragBehavior()
		{
		}

		#region GetData
		public virtual IDataObject GetDataObject(
			FrameworkElement element,
			out DragDropEffects allowedEffects
			)
		{
			object data = element.DataContext;
			IDataObject dataObject = new DataObject(data);
			allowedEffects = DragDropEffects.Copy;
			return dataObject;
		}
		#endregion

		#region QueryContinueDrag
		protected virtual void OnQueryContinueDrag(
			FrameworkElement element,
			QueryContinueDragEventArgs e
			)
		{
		}

		internal void Element_QueryContinueDrag(object sender, QueryContinueDragEventArgs e)
		{
			this.OnQueryContinueDrag((FrameworkElement)sender, e);
		}
		#endregion

		public void CompleteDrag(
			FrameworkElement element,
			IDataObject dataObject,
			DragDropEffects effect
			)
		{
		}
	}
}
